// +----------------------------------------------------------------------
// | MUI [ WE CAN DO IT JUST MUI ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2019 http://MUI.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: MUI <MUI@gmail.com>
// +----------------------------------------------------------------------

//----------------------------------
// APP公用方法文件
//----------------------------------

var tools = {
	/**===============================常用==========================**/
	/**
	 * GET取值,用于接受？传值
	 */
	getRequest: function() {
		var url = location.search; //获取url中"?"符后的字串  
		var theRequest = new Object();
		if(url.indexOf("?") != -1) {
			var str = url.substr(1);
			strs = str.split("&");
			for(var i = 0; i < strs.length; i++) {
				theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
			}
		}
		return theRequest;
	},
	/**
	 * GET取值,用于接受？传值 可接收汉字 推荐使用
	 */
	getUrlParam:function(name){
	    // 用该属性获取页面 URL 地址从问号 (?) 开始的 URL（查询部分）
	    var url = window.location.search;
	    // 正则筛选地址栏
	    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
	    // 匹配目标参数
	    var result = url.substr(1).match(reg);
	    //返回参数值
	    return result ? decodeURIComponent(result[2]) : null;
	},
	/**
	 * 用于测试
	 */
	test: function() {
		console.log("OK");
	},
	/**
	 * 打开页面
	 * @param String url
	 * @param String id
	 */
	openPage: function(url, id) {
		mui.openWindow({
			url: url,
			id: id
		});
	},
	/**
	 * 打开页面并用缓存传参
	 * @param String url
	 * @param String id
	 * @param String(json格式) value
	 */
	openPageL: function(url, id, value) {
		localStorage.removeItem("temporary");
		localStorage.setItem("temporary", value);
		mui.openWindow({
			url: url,
			id: id
		});
	},
	/**
	 * 取缓存传值
	 * @return JSON对象 返回值说明
	 */
	getPageL: function() {
		var value = localStorage.getItem("temporary");
		return JSON.parse(value);
	},
	/**
	 * 清空缓存传值
	 */
	clearPageL: function() {
		localStorage.removeItem("temporary");
	},
	/**===============================表单==========================**/
	/**
	 * 匹配Email地址
	 */
	isEmail: function(str) {
		if(str == null || str == "") return false;
		var result = str.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);
		if(result == null) return false;
		return true;
	},
	/**
	 * 判断数值类型，包括整数和浮点数
	 */
	isNumber: function(str) {
		if(isDouble(str) || isInteger(str)) return true;
		return false;
	},
	/**
	 * 匹配phone
	 */
	isPhone: function(str) {
		if(str == null || str == "") return false;
		var result = str.match(/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/);
		if(result == null) return false;
		return true;
	},

	/**
	 * 匹配mobile
	 */
	isMobile: function(str) {
		if(str == null || str == "") return false;
		var result = str.match(/^((\(\d{2,3}\))|(\d{3}\-))?((13\d{9})|(15\d{9})|(18\d{9}))$/);
		if(result == null) return false;
		return true;
	},

	/**
	 * 联系电话(手机/电话皆可)验证   
	 */
	isTel: function(text) {
		if(isMobile(text) || isPhone(text)) return true;
		return false;
	},
	/**
	 * 判断是否为合法字符(a-zA-Z0-9-_)
	 */
	isRightfulString: function(str) {
		if(str == null || str == "") return false;
		var result = str.match(/^[A-Za-z0-9_-]+$/);
		if(result == null) return false;
		return true;
	},
	/**
	 * 匹配english
	 */
	isEnglish: function(str) {
		if(str == null || str == "") return false;
		var result = str.match(/^[A-Za-z]+$/);
		if(result == null) return false;
		return true;
	},
	/**
	 * 匹配汉字
	 */
	isChinese: function(str) {
		if(str == null || str == "") return false;
		var result = str.match(/^[\u4e00-\u9fa5]+$/);
		if(result == null) return false;
		return true;
	},
	/**
	 * 匹配身份证号码
	 */
	isIdCardNo: function(num) {　　　
		var len = num.length;
		var re;　　
		if(len == 15)　　 re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/);　　
		else if(len == 18)　　 re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/);　　
		else {
			return false;
		}　　
		var a = num.match(re);　　
		if(a != null)　　 {　　
			if(len == 15)　　 {　　
				var D = new Date("19" + a[3] + "/" + a[4] + "/" + a[5]);　　
				var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];　　
			}　　
			else　　 {　　
				var D = new Date(a[3] + "/" + a[4] + "/" + a[5]);　　
				var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];　　
			}　　
			if(!B) {
				return false;
			}　　
		}　　
		if(!re.test(num)) {
			return false;
		}　　　　
		return true;
	}
}